A server is a high-performance computer in a network environment and is capable of listening to a service request submitted by another computer (client) on a network and providing a corresponding service. According to a system architecture, servers are mainly divided into two categories: non-x86 servers and X86 servers. An X86 server is also called a complex instruction set architecture server, generally called a personal computer (PC) server. The X86 server is a server that is based on a PC system architecture and uses an Intel® processor chip or another processor chip compatible with an x86 instruction set.
With further development of information technology, a server becomes increasingly important in daily information technology (IT) applications, and the number of services that a server bears is also increasing. An exception or a breakdown of a server may usually bring an extremely huge loss to a customer. Therefore, no matter if it is for a general server or a key application server, a Reliability, Availability and Serviceability (RAS) feature of the server becomes increasingly important.
The RAS is an important indicator of a server. How to achieve that a server has not only a great RAS feature but also a relatively high cost performance ratio is a major focus in server development. Especially for a mid-range or high-end server, a complete RAS feature is a major indicator for measuring whether the server is a high-end server.
For a common mid-range or high-end X86 server or a higher-end midrange computer, the server is generally required to support hard partitioning. The hard partitioning is to separate one server into several completely independent subservers. Each of these subservers is one complete server system. These subservers have their own Basic Input/Output Systems (BIOSs) and operating systems, which is similar to a generally called single server. For example, one 8-socket X86 server is hard partitioned into two 4-socket servers or four 2-socket servers, and a server that is obtained by separation by means of hard partitioning can run independently, be powered on independently, be powered off independently, and be managed independently.
Generally, an X86 server mainly includes multiple components, such as a Central Processing Unit (CPU), a Platform Controller Hub (PCH), a memory, a hard disk, and a card. For an X86 server that supports a hard partitioning function, multiple PCH chips need to be configured. Generally, the number of PCH chips that need to be configured varies depending on the number of hard partitions supported by a system. FIG. 1A is a system framework of one 8-socket server, and FIG. 1B is a system framework of one 8-socket server that is hard partitioned into two 4-socket servers.
FIG. 1A shows an independent 8P mode. A PCH connected to a CPU1 is a master PCH, and a PCH connected to another processor is a slave PCH. The slave PCH has two working modes: (1) The PCH is disabled and cannot provide any function externally. (2) The PCH is in a state in which some functions are available, for example, a universal serial bus (USB) or serial AT attachment (SATA) function on the PCH is still available but the PCH cannot participate in a management function of the entire server.
FIG. 1B shows a partitioned 8P mode. Four CPUs and a PCH that are at the top form one independent system, and four CPUs and a PCH that are at the bottom form one independent system. Quick Path Interconnect (QPI) connections between the two systems are disconnected, and there is no task interaction between the two systems.
In the prior art, RAS of a system has a relatively big disadvantage. When partitioning is not performed on a server, if a master PCH connected to a CPU1 is abnormal (for example, a chip is damaged), or an exception (for example, a chip is damaged, or a BIOS in which a Flash is located is abnormally erased) occurs on the Flash connected to the master PCH, the entire server is in a breakdown state. In this case, a service that runs on the server is interrupted.